from argparse import ArgumentParser

parser = ArgumentParser(description = 'ConvLSTM for FOV Prediction Online')
parser.add_argument('--shuffle', '-c', default=False)
parser.add_argument('-j', '--workers', default = 2, type = int, metavar = 'N',
                    help='number of data loading workers (default: 4)')
parser.add_argument('-b', '--batch_size', default = 1, type = int,
                    metavar = 'N', help = 'mini-batch size (default: 128)')
parser.add_argument('--step_size', default=10, type=int, metavar='N',
                    help = 'number of total epochs to run')

parser.add_argument('--hidden_dim', default=16, type=int)
parser.add_argument('--kernel_size', default=(5, 5), type=tuple)
parser.add_argument('--num_layers', default=1, type=int)
parser.add_argument('--batch_first', default=True, type=bool)
parser.add_argument('--learning_rate', default=1e-5, type=float,  help='learning rate of model')
parser.add_argument('--epoches', '-epoch', default=100, type=int, metavar='N', help='train time of each epoch')

parser.add_argument('--start_frame', default=0, type=int, help = 'started frameId')
parser.add_argument('--gblur_size_width', default=5, type=int, help = 'gblur_size_width')
parser.add_argument('--gblur_size_high', default=5, type=int, help = 'gblur_size_high')
parser.add_argument('--windows', '-w', default=20, type=int, metavar='N', help='prediction window size')
parser.add_argument('--showImage', default=False, type=bool, help='show test image or not')
parser.add_argument('--salFlag', default="attention", type=str, help='which saliency data set to choose')
parser.add_argument('--threshold', default=-0.95, type=float, help='control predict_tile choose')

# path setting
parser.add_argument('--model_path', default = 'D:/VR_project/ViewPrediction/online/',
                    type=str, metavar='PATH', help='model base path')
parser.add_argument('--log_path', default = 'D:/VR_project/ViewPrediction/online/log/9x16/',
                    type=str, metavar='PATH', help='log base path')

def get_args():
    args = parser.parse_args()
    return args